package com.example.pattern.observer;

/**
 * 应用
 *
 * @author FM_南风
 * @date 2024/7/6
 */
public class ObserverClient {
    public static void main(String[] args) {
	ConcreteSubject subject = new ConcreteSubject();
	// 创建两个具体观察者
	ConcreteObserver observer1 = new ConcreteObserver();
	ConcreteObserver observer2 = new ConcreteObserver();
	// 注册观察者
	subject.registerObserver(observer1);
	subject.registerObserver(observer2);
	// 主题状态改变，触发通知
	subject.setState(10);
	subject.setState(20);
	// 移除一个观察者
	subject.removeObserver(observer1);
	// 主题状态再次改变，触发通知
	subject.setState(30);
    }
}
